package com.xudu.tourbackend.service;

import com.xudu.tourbackend.entity.Element;
import com.xudu.tourbackend.entity.Recommend;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xudu.tourbackend.entity.Route;
import com.xudu.tourbackend.entity.vo.RouteVo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author xudu
 * @since 2024-06-24
 */
public interface IRecommendService extends IService<Recommend> {

    /**
     * 推荐路线
     * @param ids 路线id列表
     * @param request 请求,管理员能推荐已审核的路线
     * @return 推荐成功的路线信息
     */
    List<RouteVo> setRecommendRoute(List<Integer> ids, HttpServletRequest request);

    /**
     * 获取推荐路线
     * @return 推荐路线列表
     */
    List<RouteVo> getRecommendRoute();

    /**
     * 更新推荐路线
     * @param ids 更新路线的id列表
     * @param request 请求
     * @return 更新后的推荐路线信息列表
     */
    List<RouteVo> updateRecommendRoute(List<Integer> ids, HttpServletRequest request);

    /**
     * 根据id列表获取路线信息
     * @param ids 路线id列表
     * @return 路线信息列表
     */
    List<Route> getRouteList(List<Integer> ids);


    /**
     * 获取推荐元素
     * @return 推荐元素列表
     */
    List<Element> getElement();

    /**
     * 更新推荐元素
     * @param ids 更新元素id列表
     * @param  request 请求
     * @return 更新后的推荐元素列表
     */
    List<Element> updateElement(List<Integer> ids, HttpServletRequest request);

    /**
     * 根据id列表获取元素信息
     * @param ids 元素id列表
     * @return 元素信息列表
     */
    List<Element> getElementList(List<Integer> ids);
}
